iT邦幫忙

2023 iThome 鐵人賽

DAY 23
0

倒數七天,連假的第二天,每天睡到下午的日子好快樂 RRRR~ 可以提早退休了嗎?不想努力了 QQ

CSRF達成三要素

想要召喚神龍都需要集齊七顆龍珠了,想要達成一次 CSRF 攻擊,當然也需要具備一些條件,否則,怎麼可能讓你這麼容易就得逞呢?
那麼 …… 如果想要達到 CSRF 需要集到三個條件

  1. 有一個可以觸發惡意腳本的動作
  2. 只以單一條件進行驗證
  3. 沒有驗證或是驗證的參數可以預測

CSRF 防範

在知道了CSRF的攻擊原理與攻擊必備要素後,我們該如何進行防範呢?在這邊跟大家介紹幾個常見的防範方式

  1. Cookie 中的 SameSite 設定
    當 Sever 回應時,透過 Set-Cookie 將 SameSite 設定為 Strict,以限制第三方 Cookie,從而提升安全性。

  2. 利用同源策略
    檢查請求標頭(header)中的 referer,Sever 檢查請求標頭中的 referer 值,看是否與同源請求相關。

  3. Token 驗證
    在使用者登入時,Sever 生成一個 Token 並返回給使用者,在瀏覽器端向 Sever 發起請求時,攜帶這個 Token,Sever 端驗證 Token 的有效性。

  4. 驗證碼
    這個方法算是目前使用最廣泛的一種方式。驗證碼強制使用者必須與應用程式進行互動,才能完成最終的請求。然而,這種方式雖然較為簡便,確可能會因為使用者需要進行較多操作步驟而對使用者體驗造成不便。

蒸籠宴

圖片來源


上一篇
[Day22] 金色時光壽司大拼盤 ─ CSRF
下一篇
[Day24] HOT 燒大拼盤 ─ Directory traversal
系列文
資安大拼盤30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言